package android.mcsmtms.domain;

import java.io.Serializable;
import org.codehaus.jackson.annotate.JsonBackReference;

import com.google.android.gms.maps.model.PolylineOptions;
import android.mcsmtms.constant.GlobalConstants.*;

public class SituationSegment implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 956792142543413089L;
	
	private Integer id;
	//private String situationReportId;

	private String situation;
	
	private String trafficCondition;
	
	private String description;
	
	private Boolean accessibleYn;
	
	private Float startLat;
	
	private Float startLng;
	
	private Float endLat;
	
	private Float endLng;
	
	private SituationReport situationReport;
	
	private PolylineOptions polyLineOptions;
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	
	public String getSituation() {
		return situation;
	}
	
	public String getSituationDesc() {
		if(null == situation || situation.isEmpty()) return "";
		return SituationTypes.getDescriptionByCode(situation);
	}
	
	public void setSituation(String situation) {
		this.situation = situation;
	}
	
	public String getTrafficCondition() {
		return trafficCondition;
	}
	
	public String getTrafficConditionDesc() {
		if(null == trafficCondition || trafficCondition.isEmpty()) return "";
		return TrafficConditionTypes.getDescriptionByCode(trafficCondition);
	}
	
	public void setTrafficCondition(String trafficCondition) {
		this.trafficCondition = trafficCondition;
	}
	
	
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	
	
	public Boolean getAccessibleYn() {
		return accessibleYn;
	}
	public void setAccessibleYn(Boolean accessibleYn) {
		this.accessibleYn = accessibleYn;
	}
	
	
	public Float getStartLat() {
		return startLat;
	}
	public void setStartLat(Float startLat) {
		this.startLat = startLat;
	}
	
	
	public Float getStartLng() {
		return startLng;
	}
	public void setStartLng(Float startLng) {
		this.startLng = startLng;
	}
	
	
	public Float getEndLat() {
		return endLat;
	}
	public void setEndLat(Float endLat) {
		this.endLat = endLat;
	}
	
	public Float getEndLng() {
		return endLng;
	}
	public void setEndLng(Float endLng) {
		this.endLng = endLng;
	}

	@JsonBackReference
	public SituationReport getSituationReport() {
		return situationReport;
	}
	public void setSituationReport(SituationReport situationReport) {
		this.situationReport = situationReport;
	}
	public PolylineOptions getPolyLineOptions() {
		return polyLineOptions;
	}
	public void setPolyLineOptions(PolylineOptions polyLineOptions) {
		this.polyLineOptions = polyLineOptions;
	}
	
}
